package com.example.demo.lua;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.data.redis.core.script.RedisScript;
import org.springframework.stereotype.Service;

import java.util.Arrays;

@Service
public class LuaFromScript {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @Autowired
    private ResourceLoader resourceLoader;

    public Integer executeLuaScriptFromFile() {
//        Resource resource = resourceLoader.getResource("classpath:myscript.lua");
//        String luaScript;
//        try {
//            resource.getInputStream().
////            luaScript = new String(resource.getInputStream().);
//        } catch (Exception e) {
//            throw new RuntimeException("Unable to read Lua script file.");
//        }
//
//        RedisScript<Integer> script = new DefaultRedisScript<>(luaScript, Integer.class);
//        String[] keys = new String[0]; // 通常情况下，没有KEYS部分
//        Object[] args = new Object[]{10, 20}; // 传递给Lua脚本的参数
//        Integer result = stringRedisTemplate.execute(script, Arrays.asList(keys), args);
//        return result;
        return 11;
    }
}
